An information technology department may face many challenges in deploying a resource to target machines supporting varying execution environments and executing different subsets of available resources, each resource having different, and potentially conflicting, installation requirements. One such challenge concerns the issue of delivering resources to the environments in which they will eventually execute—large numbers of machines having different execution environments with varying types of access to multiple corporate networks. A second challenge concerns providing an environment on a target machine enabling execution of a resource without interfering with other resources, which may have conflicting requirements, and in environments in which the resource may not have been designed to run.
Ensuring compliance with various corporate policies creates additional concerns for administrators of typical enterprise environments. A target machine may satisfy the technical requirements of a particular resource while failing to satisfy a policy applicable to the target machine, or to the user of the target machine. For example, a policy may require that a user access networked resources using client machines having specific configurations, or via particular types of network connections. Therefore, even if a client machine provides an environment supporting the execution of a requested resource, a policy may prohibit the requested access. If access is denied, alternate ways of providing the user access to the requested application program are useful.